#!/bin/bash
# -*- coding: utf-8 -*-
#---------------------------------------------------
# Name:        loadMovielens.py  
# Purpose:  读取测试集和训练集，以字典格式存储到内存中
#  
# Author:      liangzhicheng
# E-mail:      978284761@qq.com
# Created:     14-06-2016
#---------------------------------------------------
# import sys
# import os

##==================================
#         加载指定的训练集文件
#  参数fileName 代表某个训练集文件
##==================================
def loadMovieLensTrain(fileName):
    prefer = {}
    for line in open(fileName, 'r'):       # 打开指定文件
        (userid, movieid, rating, ts) = line.split('\t')     # 数据集中每行有4项
        prefer.setdefault(userid, {})      # 设置字典的默认格式,元素是user:{}字典
        prefer[userid][movieid] = float(rating)
    return prefer

# if __name__ == "__main__":
#     print ("""这个部分可以进行上面2个函数测试 """)
#     # 加载训练集，将数据以userId作为字典，内容是用户对电影评分的集合，即userId:{movieId: rating}
#     trainDict = loadMovieLensTrain('u1.base')
#     # 加载测试集，将数据以userId作为字典，内容是用户对电影评分的集合，即userId:{movieId: rating}
#     testDict = loadMovieLensTrain('u1.test')
#     print(len(trainDict))
#     print(len(testDict))
#     print(""" 测试通过 """)
                        

















